
// ajax请求get和post的区别

// 1.get一般用于查询操作，post一般用于用户提交操作

// 2.get参数拼接在url上,post放在请求体内（数据体积更大）

// 3.安全性post易于防止csrf


// 手写简易ajax


function ajax(url){
    // resolve和reject本质上是一个函数
    const p=new Promise((resolve,reject)=>{
        const xhr=new XMLHttpRequest();
        xhr.open('GET',url,true)
        xhr.onreadystatechange=function(){
            if(xhr.readyState===4){
                if(xhr.status===200){
                    resolve(
                        JSON.parse(xhr.responseText)
                    )
                }else if(xhr.status===404){
                    reject(new Error('404 no found'))
                }
            }
        }
        xhr.send(null)
    });
    return p
}

const url='/data/test.json'

ajax(url)
.then(res=>console.log(res))
.catch(error=>console.log(err))



